package com.greenold.service.mapper;

import java.util.List;

import com.greenold.service.domain.CareItem;
import org.apache.ibatis.annotations.Select;

/**
 * 护理项目Mapper接口
 *
 * @author YueYang
 * @date 2025-10-14
 */
public interface CareItemMapper {
    /**
     * 查询护理项目
     *
     * @param id 护理项目主键
     * @return 护理项目
     */
    public CareItem selectCareItemById(String id);

    /**
     * 查询护理项目列表
     *
     * @param careItem 护理项目
     * @return 护理项目集合
     */
    public List<CareItem> selectCareItemList(CareItem careItem);

    /**
     * 查询所有可用的护理项目集合 也就是status为1的
     *
     * @return 可用的护理项目集合
     */
    public List<CareItem> selectAvailableCareItemList();

    /**
     * 查询护理计划项目关联表 获取与护理计划关联的所有护理项目id
     *
     * @return 与护理计划关联的所有护理项目id集合
     */
    public List<Long> selectCareItemRelation();

    /**
     * 新增护理项目
     *
     * @param careItem 护理项目
     * @return 结果
     */
    public int insertCareItem(CareItem careItem);

    /**
     * 修改护理项目
     *
     * @param careItem 护理项目
     * @return 结果
     */
    public int updateCareItem(CareItem careItem);

    /**
     * 删除护理项目
     *
     * @param id 护理项目主键
     * @return 结果
     */
    public int deleteCareItemById(String id);

    /**
     * 批量删除护理项目
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCareItemByIds(String[] ids);

//    查询启用的护理项目
    @Select("SELECT * FROM care_item WHERE status = 1")
    List<CareItem> selectActiveCareItems();
}
